<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-2"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-3"></span><span class="hs-comment">-- Module      :  Distribution.Simple.GHC.ImplInfo</span><span>
</span><span id="line-4"></span><span class="hs-comment">--</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- Maintainer  :  cabal-devel@haskell.org</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-7"></span><span class="hs-comment">--</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- This module contains the data structure describing invocation</span><span>
</span><span id="line-9"></span><span class="hs-comment">-- details for a GHC or GHC-derived compiler, such as supported flags</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- and workarounds for bugs.</span><span>
</span><span id="line-11"></span><span>
</span><span id="line-12"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Simple.GHC.ImplInfo</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-13"></span><span>        </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier">GhcImplInfo</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#getImplInfo"><span class="hs-identifier">getImplInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-14"></span><span>        </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#ghcVersionImplInfo"><span class="hs-identifier">ghcVersionImplInfo</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#ghcjsVersionImplInfo"><span class="hs-identifier">ghcjsVersionImplInfo</span></a></span><span>
</span><span id="line-15"></span><span>        </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-16"></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html"><span class="hs-identifier">Distribution.Simple.Compiler</span></a></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Version.html"><span class="hs-identifier">Distribution.Version</span></a></span><span>
</span><span id="line-22"></span><span>
</span><span id="line-23"></span><span class="hs-comment">{- |
     Information about features and quirks of a GHC-based implementation.

     Compiler flavors based on GHC behave similarly enough that some of
     the support code for them is shared. Every implementation has its
     own peculiarities, that may or may not be a direct result of the
     underlying GHC version. This record keeps track of these differences.

     All shared code (i.e. everything not in the Distribution.Simple.FLAVOR
     module) should use implementation info rather than version numbers
     to test for supported features.
-}</span><span>
</span><span id="line-35"></span><span>
</span><span id="line-36"></span><span class="hs-keyword">data</span><span> </span><span id="GhcImplInfo"><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-var">GhcImplInfo</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="GhcImplInfo"><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-var">GhcImplInfo</span></a></span></span><span>
</span><span id="line-37"></span><span>  </span><span class="hs-special">{</span><span> </span><span id="supportsHaskell2010"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsHaskell2010"><span class="hs-identifier hs-var hs-var">supportsHaskell2010</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ -XHaskell2010 and -XHaskell98 flags</span><span>
</span><span id="line-38"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="reportsNoExt"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#reportsNoExt"><span class="hs-identifier hs-var hs-var">reportsNoExt</span></a></span></span><span>         </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ --supported-languages gives Ext and NoExt</span><span>
</span><span id="line-39"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="alwaysNondecIndent"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#alwaysNondecIndent"><span class="hs-identifier hs-var hs-var">alwaysNondecIndent</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ NondecreasingIndentation is always on</span><span>
</span><span id="line-40"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="flagGhciScript"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagGhciScript"><span class="hs-identifier hs-var hs-var">flagGhciScript</span></a></span></span><span>       </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ -ghci-script flag supported</span><span>
</span><span id="line-41"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="flagProfAuto"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagProfAuto"><span class="hs-identifier hs-var hs-var">flagProfAuto</span></a></span></span><span>         </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ new style -fprof-auto* flags</span><span>
</span><span id="line-42"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="flagPackageConf"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagPackageConf"><span class="hs-identifier hs-var hs-var">flagPackageConf</span></a></span></span><span>      </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ use package-conf instead of package-db</span><span>
</span><span id="line-43"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="flagDebugInfo"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagDebugInfo"><span class="hs-identifier hs-var hs-var">flagDebugInfo</span></a></span></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ -g flag supported</span><span>
</span><span id="line-44"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="supportsDebugLevels"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsDebugLevels"><span class="hs-identifier hs-var hs-var">supportsDebugLevels</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ supports numeric @-g@ levels</span><span>
</span><span id="line-45"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="supportsPkgEnvFiles"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsPkgEnvFiles"><span class="hs-identifier hs-var hs-var">supportsPkgEnvFiles</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ picks up @.ghc.environment@ files</span><span>
</span><span id="line-46"></span><span>  </span><span class="hs-special">,</span><span> </span><span id="flagWarnMissingHomeModules"><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagWarnMissingHomeModules"><span class="hs-identifier hs-var hs-var">flagWarnMissingHomeModules</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ -Wmissing-home-modules is supported</span><span>
</span><span id="line-47"></span><span>  </span><span class="hs-special">}</span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#getImplInfo"><span class="hs-identifier hs-type">getImplInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#Compiler"><span class="hs-identifier hs-type">Compiler</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-type">GhcImplInfo</span></a></span><span>
</span><span id="line-50"></span><span id="getImplInfo"><span class="annot"><span class="annottext">getImplInfo :: Compiler -&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#getImplInfo"><span class="hs-identifier hs-var hs-var">getImplInfo</span></a></span></span><span> </span><span id="local-6989586621679686888"><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679686888"><span class="hs-identifier hs-var">comp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-51"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679686888"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-52"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Version -&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#ghcVersionImplInfo"><span class="hs-identifier hs-var">ghcVersionImplInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; Version
</span><a href="Distribution.Simple.Compiler.html#compilerVersion"><span class="hs-identifier hs-var">compilerVersion</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679686888"><span class="hs-identifier hs-var">comp</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-53"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; Compiler -&gt; Maybe Version
</span><a href="Distribution.Simple.Compiler.html#compilerCompatVersion"><span class="hs-identifier hs-var">compilerCompatVersion</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679686888"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-54"></span><span>              </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679686882"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679686882"><span class="hs-identifier hs-var">ghcVer</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Version -&gt; Version -&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#ghcjsVersionImplInfo"><span class="hs-identifier hs-var">ghcjsVersionImplInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; Version
</span><a href="Distribution.Simple.Compiler.html#compilerVersion"><span class="hs-identifier hs-var">compilerVersion</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679686888"><span class="hs-identifier hs-var">comp</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679686882"><span class="hs-identifier hs-var">ghcVer</span></a></span><span>
</span><span id="line-55"></span><span>              </span><span class="annot"><span class="annottext">Maybe Version
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; GhcImplInfo
forall a. HasCallStack =&gt; [Char] -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;Distribution.Simple.GHC.Props.getImplProps: &quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-56"></span><span>                           </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;could not find GHC version for GHCJS compiler&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-57"></span><span>    </span><span id="local-6989586621679686880"><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="#local-6989586621679686880"><span class="hs-identifier hs-var">x</span></a></span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; GhcImplInfo
forall a. HasCallStack =&gt; [Char] -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;Distribution.Simple.GHC.Props.getImplProps only works&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-58"></span><span>                    </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;for GHC-like compilers (GHC, GHCJS)&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-59"></span><span>                    </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;, but found &quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; [Char]
forall a. Show a =&gt; a -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="#local-6989586621679686880"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-60"></span><span>
</span><span id="line-61"></span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#ghcVersionImplInfo"><span class="hs-identifier hs-type">ghcVersionImplInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-type">GhcImplInfo</span></a></span><span>
</span><span id="line-62"></span><span id="ghcVersionImplInfo"><span class="annot"><span class="annottext">ghcVersionImplInfo :: Version -&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#ghcVersionImplInfo"><span class="hs-identifier hs-var hs-var">ghcVersionImplInfo</span></a></span></span><span> </span><span id="local-6989586621679686878"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679686878"><span class="hs-identifier hs-var">ver</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo :: Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-type">GhcImplInfo</span></a></span><span>
</span><span id="line-63"></span><span>  </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">supportsHaskell2010 :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsHaskell2010"><span class="hs-identifier hs-var">supportsHaskell2010</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">]</span><span>
</span><span id="line-64"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">reportsNoExt :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#reportsNoExt"><span class="hs-identifier hs-var">reportsNoExt</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">]</span><span>
</span><span id="line-65"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">alwaysNondecIndent :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#alwaysNondecIndent"><span class="hs-identifier hs-var">alwaysNondecIndent</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;</span></span><span>  </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">]</span><span>
</span><span id="line-66"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagGhciScript :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagGhciScript"><span class="hs-identifier hs-var">flagGhciScript</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">]</span><span>
</span><span id="line-67"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagProfAuto :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagProfAuto"><span class="hs-identifier hs-var">flagProfAuto</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span>
</span><span id="line-68"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagPackageConf :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagPackageConf"><span class="hs-identifier hs-var">flagPackageConf</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;</span></span><span>  </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">5</span></span><span class="hs-special">]</span><span>
</span><span id="line-69"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagDebugInfo :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagDebugInfo"><span class="hs-identifier hs-var">flagDebugInfo</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">10</span></span><span class="hs-special">]</span><span>
</span><span id="line-70"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">supportsDebugLevels :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsDebugLevels"><span class="hs-identifier hs-var">supportsDebugLevels</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">]</span><span>
</span><span id="line-71"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">supportsPkgEnvFiles :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsPkgEnvFiles"><span class="hs-identifier hs-var">supportsPkgEnvFiles</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">20160901</span></span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- broken in 8.0.1, fixed in 8.0.2</span><span>
</span><span id="line-72"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagWarnMissingHomeModules :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagWarnMissingHomeModules"><span class="hs-identifier hs-var">flagWarnMissingHomeModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">]</span><span>
</span><span id="line-73"></span><span>  </span><span class="hs-special">}</span><span>
</span><span id="line-74"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-75"></span><span>    </span><span id="local-6989586621679686877"><span class="annot"><span class="annottext">v :: [Int]
</span><a href="#local-6989586621679686877"><span class="hs-identifier hs-var hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Version -&gt; [Int]
</span><a href="Distribution.Types.Version.html#versionNumbers"><span class="hs-identifier hs-var">versionNumbers</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679686878"><span class="hs-identifier hs-var">ver</span></a></span><span>
</span><span id="line-76"></span><span>
</span><span id="line-77"></span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#ghcjsVersionImplInfo"><span class="hs-identifier hs-type">ghcjsVersionImplInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span>  </span><span class="hs-comment">-- ^ The GHCJS version</span><span>
</span><span id="line-78"></span><span>                     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span>  </span><span class="hs-comment">-- ^ The GHC version</span><span>
</span><span id="line-79"></span><span>                     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-type">GhcImplInfo</span></a></span><span>
</span><span id="line-80"></span><span id="ghcjsVersionImplInfo"><span class="annot"><span class="annottext">ghcjsVersionImplInfo :: Version -&gt; Version -&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#ghcjsVersionImplInfo"><span class="hs-identifier hs-var hs-var">ghcjsVersionImplInfo</span></a></span></span><span> </span><span id="local-6989586621679686874"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679686874"><span class="hs-identifier hs-var">_ghcjsver</span></a></span></span><span> </span><span id="local-6989586621679686873"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679686873"><span class="hs-identifier hs-var">ghcver</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo :: Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; Bool
-&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-type">GhcImplInfo</span></a></span><span>
</span><span id="line-81"></span><span>  </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">supportsHaskell2010 :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsHaskell2010"><span class="hs-identifier hs-var">supportsHaskell2010</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-82"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">reportsNoExt :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#reportsNoExt"><span class="hs-identifier hs-var">reportsNoExt</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-83"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">alwaysNondecIndent :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#alwaysNondecIndent"><span class="hs-identifier hs-var">alwaysNondecIndent</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-84"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagGhciScript :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagGhciScript"><span class="hs-identifier hs-var">flagGhciScript</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-85"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagProfAuto :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagProfAuto"><span class="hs-identifier hs-var">flagProfAuto</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-86"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagPackageConf :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagPackageConf"><span class="hs-identifier hs-var">flagPackageConf</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-87"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagDebugInfo :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagDebugInfo"><span class="hs-identifier hs-var">flagDebugInfo</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-88"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">supportsDebugLevels :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsDebugLevels"><span class="hs-identifier hs-var">supportsDebugLevels</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686872"><span class="hs-identifier hs-var">ghcv</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">]</span><span>
</span><span id="line-89"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">supportsPkgEnvFiles :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsPkgEnvFiles"><span class="hs-identifier hs-var">supportsPkgEnvFiles</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686872"><span class="hs-identifier hs-var">ghcv</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">]</span><span> </span><span class="hs-comment">--TODO: check this works in ghcjs</span><span>
</span><span id="line-90"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">flagWarnMissingHomeModules :: Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagWarnMissingHomeModules"><span class="hs-identifier hs-var">flagWarnMissingHomeModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679686872"><span class="hs-identifier hs-var">ghcv</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">]</span><span>
</span><span id="line-91"></span><span>  </span><span class="hs-special">}</span><span>
</span><span id="line-92"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-93"></span><span>    </span><span id="local-6989586621679686872"><span class="annot"><span class="annottext">ghcv :: [Int]
</span><a href="#local-6989586621679686872"><span class="hs-identifier hs-var hs-var">ghcv</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Version -&gt; [Int]
</span><a href="Distribution.Types.Version.html#versionNumbers"><span class="hs-identifier hs-var">versionNumbers</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679686873"><span class="hs-identifier hs-var">ghcver</span></a></span><span>
</span><span id="line-94"></span></pre></body></html>